package com.atguigu.gulimall.search.config;




import org.apache.http.HttpHost;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 *
 */
@Configuration
public class GulimallElasticSearchConfig {

    public static final RequestOptions COMMON_OPTIONS;

    static {
        RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();

        COMMON_OPTIONS = builder.build();
    }


    @Bean
    public RestHighLevelClient esRestClient() {
        RestClientBuilder builder = null;

        builder  = RestClient.builder(new HttpHost("192.168.64.100", 9200, "http"));
        RestHighLevelClient client = new RestHighLevelClient(builder);

        return client;

    }

//    @Bean
//    public ElasticsearchClient esRestClient() {
//        // Create the low-level client
//        RestClient restClient = RestClient.builder(
//                new HttpHost("192.168.64.100", 9200)).build();
//
//        // Create the transport with a Jackson mapper
//        ElasticsearchTransport transport = new RestClientTransport(
//                restClient, new JacksonJsonpMapper());
//
//        // And create the API client
//        ElasticsearchClient client = new ElasticsearchClient(transport);
//       return client;
//    }
}
